Release 10.1A: OpenEdge Development:
Progress Dynamics Basic Development
Building Progress Dynamics Lookups and Combos
A SmartDataViewer (viewer for short) is a Progress Dynamics object visualized as a Progress frame. It contains field-level widgets, like fill-ins and editors, representing fields in static or dynamic SmartDataObjects™ (SDO) or SmartBusinessObjects (SBO). Progress Dynamics supports both static (procedural) and dynamic (data-driven) viewers.
A viewer is normally linked to an SDO or SBO, from which it gets its data. It displays the currently selected record in the data object’s query, which is typically positioned to by using a browser to scroll through a set of records and select a record, or by using a
Navigationband of buttons in a toolbar to advance to a desired record. You can make the viewer aTableIOlink target for anUpdateband of toolbar buttons, so that the user can modify, add, copy, and delete records through the viewer.Because of the architecture of the Progress Dynamics framework, a viewer is significantly different from a traditional Progress frame where records are updated. Because of the design of the framework to support distributed applications, with no direct database connection on the client, the field widgets in a viewer are not directly associated with database values. Instead, they normally display fields in a temp-table record from an SDO, retrieved on the server and sent to the client for display. Field validation expressions, which you would traditionally write into the database schema and compile from there into frames that reference those fields, are normally left out of viewers so that any database connection dependencies do not prevent the viewer from running in a Progress session without a database connection. Changes to field values are therefore normally collected when an entire record is saved, sent back to the client side SDO, and from there to the server for validation and writing to the database.
A viewer can also contain other visual objects. This includes other field-level widgets mapped to variables or other nondatabase values, browses with their own queries, decorative objects such as rectangles and images, buttons with their own actions, and so on.
This chapter discusses how to build viewers in the AppBuilder, and in particular, how to add dynamic lookups and combos to them. In the course of adding combos and lookups to dynamic viewers, you also get a substantial introduction to the Repository Maintenance tool, which lets you add, delete, and modify individual records in the Repository to make changes to dynamic objects.
This chapter includes the following sections:
|
Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |